#include <mach/pinctrl.h>
#include <mach/pinctrl_osdep.h>
#include <mach/board_config.h>
#include <chip.h>

#define PAD_NUM             (57)

/* PINCTRL_FUNC */
PINCTRL_FUNC(PKG_ID3, 0, FUNC0, PUPD_UP, 1, ISP, 0x10);
PINCTRL_FUNC(PKG_ID2, 1, FUNC0, PUPD_UP, 1, ISP, 0x14);
PINCTRL_FUNC(PKG_ID1, 2, FUNC0, PUPD_UP, 1, ISP, 0x18);
PINCTRL_FUNC(PKG_ID0, 3, FUNC0, PUPD_UP, 1, ISP, 0x1c);
PINCTRL_FUNC(SENSOR_RSTN0, 4, FUNC0, PUPD_NONE, 1, ISP, 0x20);
PINCTRL_FUNC(GPIO4_4, 4, FUNC1, PUPD_NONE, 1, ISP, 0x20);
PINCTRL_FUNC(DEBUG_BUS_12, 4, FUNC3, PUPD_NONE, 1, ISP, 0x20);
PINCTRL_FUNC(SENSOR_CLK0, 5, FUNC0, PUPD_NONE, 0, ISP, 0x24);
PINCTRL_FUNC(GPIO4_5, 5, FUNC1, PUPD_NONE, 1, ISP, 0x24);
PINCTRL_FUNC(DEBUG_BUS_13, 5, FUNC3, PUPD_NONE, 1, ISP, 0x24);
PINCTRL_FUNC(I2C0_SDA, 6, FUNC0, PUPD_UP, 0, ISP, 0x28);
PINCTRL_FUNC(GPIO4_6, 6, FUNC1, PUPD_UP, 1, ISP, 0x28);
PINCTRL_FUNC(DEBUG_BUS_14, 6, FUNC3, PUPD_UP, 1, ISP, 0x28);
PINCTRL_FUNC(I2C0_SCL, 7, FUNC0, PUPD_UP, 0, ISP, 0x2c);
PINCTRL_FUNC(GPIO4_7, 7, FUNC1, PUPD_UP, 1, ISP, 0x2c);
PINCTRL_FUNC(DEBUG_BUS_15, 7, FUNC3, PUPD_UP, 1, ISP, 0x2c);
PINCTRL_FUNC(SENSOR_RSTN1, 8, FUNC0, PUPD_NONE, 1, ISP, 0x30);
PINCTRL_FUNC(GPIO5_0, 8, FUNC1, PUPD_NONE, 1, ISP, 0x30);
PINCTRL_FUNC(SENSOR_VS0, 8, FUNC2, PUPD_NONE, 1, ISP, 0x30);
PINCTRL_FUNC(UART2_TXD, 8, FUNC3, PUPD_NONE, 0, ISP, 0x30);
PINCTRL_FUNC(PWMOUT0, 8, FUNC5, PUPD_NONE, 1, ISP, 0x30);
PINCTRL_FUNC(SENSOR_CLK1, 9, FUNC0, PUPD_NONE, 0, ISP, 0x34);
PINCTRL_FUNC(GPIO5_1, 9, FUNC1, PUPD_NONE, 1, ISP, 0x34);
PINCTRL_FUNC(SENSOR_VS1, 9, FUNC2, PUPD_NONE, 1, ISP, 0x34);
PINCTRL_FUNC(UART2_RXD, 9, FUNC3, PUPD_NONE, 0, ISP, 0x34);
PINCTRL_FUNC(PWMOUT1, 9, FUNC5, PUPD_NONE, 1, ISP, 0x34);
PINCTRL_FUNC(USB_PWREN, 10, FUNC0, PUPD_NONE, 1, VEU, 0x18);
PINCTRL_FUNC(GPIO2_4, 10, FUNC1, PUPD_NONE, 1, VEU, 0x18);
PINCTRL_FUNC(UART2_RTSN, 10, FUNC2, PUPD_NONE, 0, VEU, 0x18);
PINCTRL_FUNC(SPI1_CSN0, 10, FUNC4, PUPD_NONE, 1, VEU, 0x18);
PINCTRL_FUNC(LCD_D15, 10, FUNC5, PUPD_NONE, 1, VEU, 0x18);
PINCTRL_FUNC(JTAG_TDO, 11, FUNC0, PUPD_NONE, 1, VEU, 0x1c);
PINCTRL_FUNC(GPIO1_7, 11, FUNC1, PUPD_NONE, 1, VEU, 0x1c);
PINCTRL_FUNC(UART2_CTSN, 11, FUNC2, PUPD_NONE, 0, VEU, 0x1c);
PINCTRL_FUNC(USB_PWREN, 11, FUNC3, PUPD_NONE, 1, VEU, 0x1c);
PINCTRL_FUNC(SPI1_CLK, 11, FUNC4, PUPD_NONE, 1, VEU, 0x1c);
PINCTRL_FUNC(LCD_D14, 11, FUNC5, PUPD_NONE, 1, VEU, 0x1c);
PINCTRL_FUNC(JTAG_TCK, 12, FUNC0, PUPD_NONE, 1, VEU, 0x20);
PINCTRL_FUNC(GPIO2_5, 12, FUNC1, PUPD_NONE, 1, VEU, 0x20);
PINCTRL_FUNC(PWMOUT3, 12, FUNC2, PUPD_NONE, 1, VEU, 0x20);
PINCTRL_FUNC(UART2_TXD, 12, FUNC3, PUPD_NONE, 0, VEU, 0x20);
PINCTRL_FUNC(SPI1_DO, 12, FUNC4, PUPD_NONE, 1, VEU, 0x20);
PINCTRL_FUNC(LCD_D13, 12, FUNC5, PUPD_NONE, 1, VEU, 0x20);
PINCTRL_FUNC(JTAG_TMS, 13, FUNC0, PUPD_UP, 1, VEU, 0x24);
PINCTRL_FUNC(GPIO2_6, 13, FUNC1, PUPD_UP, 1, VEU, 0x24);
PINCTRL_FUNC(PWMOUT2, 13, FUNC2, PUPD_UP, 1, VEU, 0x24);
PINCTRL_FUNC(UART2_RXD, 13, FUNC3, PUPD_UP, 0, VEU, 0x24);
PINCTRL_FUNC(SPI1_DI, 13, FUNC4, PUPD_UP, 1, VEU, 0x24);
PINCTRL_FUNC(LCD_D12, 13, FUNC5, PUPD_UP, 1, VEU, 0x24);
PINCTRL_FUNC(UART0_RXD, 14, FUNC0, PUPD_UP, 0, VEU, 0x28);
PINCTRL_FUNC(GPIO0_0, 14, FUNC1, PUPD_UP, 1, VEU, 0x28);
PINCTRL_FUNC(DEBUG_BUS_5, 14, FUNC2, PUPD_UP, 1, VEU, 0x28);
PINCTRL_FUNC(UART2_RTSN, 14, FUNC3, PUPD_UP, 0, VEU, 0x28);
PINCTRL_FUNC(SPI1_CSN1, 14, FUNC4, PUPD_UP, 1, VEU, 0x28);
PINCTRL_FUNC(LCD_D11, 14, FUNC5, PUPD_UP, 1, VEU, 0x28);
PINCTRL_FUNC(UART0_TXD, 15, FUNC0, PUPD_NONE, 0, VEU, 0x2c);
PINCTRL_FUNC(GPIO0_1, 15, FUNC1, PUPD_NONE, 1, VEU, 0x2c);
PINCTRL_FUNC(DEBUG_BUS_6, 15, FUNC2, PUPD_NONE, 1, VEU, 0x2c);
PINCTRL_FUNC(UART2_CTSN, 15, FUNC3, PUPD_NONE, 0, VEU, 0x2c);
PINCTRL_FUNC(LCD_D10, 15, FUNC5, PUPD_NONE, 1, VEU, 0x2c);
PINCTRL_FUNC(PWMOUT1, 16, FUNC0, PUPD_NONE, 1, VEU, 0x30);
PINCTRL_FUNC(GPIO0_2, 16, FUNC1, PUPD_NONE, 1, VEU, 0x30);
PINCTRL_FUNC(UART1_TXD, 16, FUNC2, PUPD_NONE, 0, VEU, 0x30);
PINCTRL_FUNC(I2C1_SCL, 16, FUNC3, PUPD_NONE, 0, VEU, 0x30);
PINCTRL_FUNC(EPHY_LED_DAT, 16, FUNC4, PUPD_NONE, 0, VEU, 0x30);
PINCTRL_FUNC(LCD_D9, 16, FUNC5, PUPD_NONE, 1, VEU, 0x30);
PINCTRL_FUNC(PWMOUT0, 17, FUNC0, PUPD_NONE, 1, VEU, 0x34);
PINCTRL_FUNC(GPIO0_3, 17, FUNC1, PUPD_NONE, 1, VEU, 0x34);
PINCTRL_FUNC(UART1_RXD, 17, FUNC2, PUPD_NONE, 0, VEU, 0x34);
PINCTRL_FUNC(I2C1_SDA, 17, FUNC3, PUPD_NONE, 0, VEU, 0x34);
PINCTRL_FUNC(EPHY_LED_LINK, 17, FUNC4, PUPD_NONE, 0, VEU, 0x34);
PINCTRL_FUNC(LCD_D8, 17, FUNC5, PUPD_NONE, 1, VEU, 0x34);
PINCTRL_FUNC(SD0_CD, 18, FUNC0, PUPD_NONE, 4, ISP, 0x38);
PINCTRL_FUNC(GPIO3_5, 18, FUNC1, PUPD_NONE, 1, ISP, 0x38);
PINCTRL_FUNC(DEBUG_BUS11, 18, FUNC3, PUPD_NONE, 1, ISP, 0x38);
PINCTRL_FUNC(SD0_D1, 19, FUNC0, PUPD_NONE, 4, ISP, 0x3c);
PINCTRL_FUNC(GPIO3_1, 19, FUNC1, PUPD_NONE, 1, ISP, 0x3c);
PINCTRL_FUNC(SPI1_CSN1, 19, FUNC2, PUPD_NONE, 1, ISP, 0x3c);
PINCTRL_FUNC(DEBUG_BUS7, 19, FUNC3, PUPD_NONE, 1, ISP, 0x3c);
PINCTRL_FUNC(SD0_D0, 20, FUNC0, PUPD_NONE, 4, ISP, 0x40);
PINCTRL_FUNC(GPIO3_2, 20, FUNC1, PUPD_NONE, 1, ISP, 0x40);
PINCTRL_FUNC(SPI1_DI, 20, FUNC2, PUPD_NONE, 1, ISP, 0x40);
PINCTRL_FUNC(DEBUG_BUS8, 20, FUNC3, PUPD_NONE, 1, ISP, 0x40);
PINCTRL_FUNC(SD0_CLK, 21, FUNC0, PUPD_NONE, 4, ISP, 0x44);
PINCTRL_FUNC(GPIO3_4, 21, FUNC1, PUPD_NONE, 1, ISP, 0x44);
PINCTRL_FUNC(SPI1_CLK, 21, FUNC2, PUPD_NONE, 1, ISP, 0x44);
PINCTRL_FUNC(DEBUG_BUS10, 21, FUNC3, PUPD_NONE, 1, ISP, 0x44);
PINCTRL_FUNC(SD0_CMD, 22, FUNC0, PUPD_NONE, 4, ISP, 0x48);
PINCTRL_FUNC(GPIO3_3, 22, FUNC1, PUPD_NONE, 1, ISP, 0x48);
PINCTRL_FUNC(SPI1_DO, 22, FUNC2, PUPD_NONE, 1, ISP, 0x48);
PINCTRL_FUNC(DEBUG_BUS9, 22, FUNC3, PUPD_NONE, 1, ISP, 0x48);
PINCTRL_FUNC(SD0_D3, 23, FUNC0, PUPD_NONE, 4, ISP, 0x4c);
PINCTRL_FUNC(GPIO2_7, 23, FUNC1, PUPD_NONE, 1, ISP, 0x4c);
PINCTRL_FUNC(SPI1_CSN0, 23, FUNC2, PUPD_NONE, 1, ISP, 0x4c);
PINCTRL_FUNC(DMIC_CLK, 23, FUNC3, PUPD_NONE, 1, ISP, 0x4c);
PINCTRL_FUNC(LCD_CS, 23, FUNC4, PUPD_NONE, 1, ISP, 0x4c);
PINCTRL_FUNC(LCD_HSYNC, 23, FUNC5, PUPD_NONE, 1, ISP, 0x4c);
PINCTRL_FUNC(SD0_D2, 24, FUNC0, PUPD_NONE, 4, ISP, 0x50);
PINCTRL_FUNC(GPIO3_0, 24, FUNC1, PUPD_NONE, 1, ISP, 0x50);
PINCTRL_FUNC(I2S_MCLK, 24, FUNC2, PUPD_NONE, 1, ISP, 0x50);
PINCTRL_FUNC(DMIC_DAT, 24, FUNC3, PUPD_NONE, 1, ISP, 0x50);
PINCTRL_FUNC(LCD_WR, 24, FUNC4, PUPD_NONE, 1, ISP, 0x50);
PINCTRL_FUNC(LCD_CLK, 24, FUNC5, PUPD_NONE, 1, ISP, 0x50);
PINCTRL_FUNC(JTAG_TCK, 25, FUNC0, PUPD_NONE, 1, ISP, 0x54);
PINCTRL_FUNC(GPIO1_3, 25, FUNC1, PUPD_NONE, 1, ISP, 0x54);
PINCTRL_FUNC(STM_V_0, 25, FUNC2, PUPD_NONE, 1, ISP, 0x54);
PINCTRL_FUNC(I2S_DO, 25, FUNC3, PUPD_NONE, 1, ISP, 0x54);
PINCTRL_FUNC(AUX_CLK, 25, FUNC4, PUPD_NONE, 1, ISP, 0x54);
PINCTRL_FUNC(LCD_D7, 25, FUNC5, PUPD_NONE, 1, ISP, 0x54);
PINCTRL_FUNC(DMIC_DAT, 26, FUNC0, PUPD_NONE, 1, ISP, 0x58);
PINCTRL_FUNC(GPIO1_4, 26, FUNC1, PUPD_NONE, 1, ISP, 0x58);
PINCTRL_FUNC(STM_V_1, 26, FUNC2, PUPD_NONE, 1, ISP, 0x58);
PINCTRL_FUNC(I2S_DI, 26, FUNC3, PUPD_NONE, 1, ISP, 0x58);
PINCTRL_FUNC(SD1_D3, 26, FUNC4, PUPD_NONE, 4, ISP, 0x58);
PINCTRL_FUNC(LCD_D6, 26, FUNC5, PUPD_NONE, 1, ISP, 0x58);
PINCTRL_FUNC(DMIC_CLK, 27, FUNC0, PUPD_NONE, 1, ISP, 0x5c);
PINCTRL_FUNC(GPIO1_5, 27, FUNC1, PUPD_NONE, 1, ISP, 0x5c);
PINCTRL_FUNC(STM_V_2, 27, FUNC2, PUPD_NONE, 1, ISP, 0x5c);
PINCTRL_FUNC(I2S_BCLK, 27, FUNC3, PUPD_NONE, 1, ISP, 0x5c);
PINCTRL_FUNC(SD1_D2, 27, FUNC4, PUPD_NONE, 4, ISP, 0x5c);
PINCTRL_FUNC(LCD_D5, 27, FUNC5, PUPD_NONE, 1, ISP, 0x5c);
PINCTRL_FUNC(SPI1_DI, 28, FUNC0, PUPD_NONE, 1, ISP, 0x60);
PINCTRL_FUNC(GPIO1_6, 28, FUNC1, PUPD_NONE, 1, ISP, 0x60);
PINCTRL_FUNC(STM_V_3, 28, FUNC2, PUPD_NONE, 1, ISP, 0x60);
PINCTRL_FUNC(I2S_WS, 28, FUNC3, PUPD_NONE, 1, ISP, 0x60);
PINCTRL_FUNC(SD1_D1, 28, FUNC4, PUPD_NONE, 4, ISP, 0x60);
PINCTRL_FUNC(LCD_D4, 28, FUNC5, PUPD_NONE, 1, ISP, 0x60);
PINCTRL_FUNC(I2C1_SDA, 29, FUNC0, PUPD_NONE, 0, ISP, 0x64);
PINCTRL_FUNC(GPIO2_0, 29, FUNC1, PUPD_NONE, 1, ISP, 0x64);
PINCTRL_FUNC(STM_H_1, 29, FUNC2, PUPD_NONE, 1, ISP, 0x64);
PINCTRL_FUNC(SPI1_CSN0, 29, FUNC3, PUPD_NONE, 1, ISP, 0x64);
PINCTRL_FUNC(SD1_D0, 29, FUNC4, PUPD_NONE, 4, ISP, 0x64);
PINCTRL_FUNC(LCD_D3, 29, FUNC5, PUPD_NONE, 1, ISP, 0x64);
PINCTRL_FUNC(I2C1_SCL, 30, FUNC0, PUPD_NONE, 0, ISP, 0x68);
PINCTRL_FUNC(GPIO2_1, 30, FUNC1, PUPD_NONE, 1, ISP, 0x68);
PINCTRL_FUNC(STM_H_0, 30, FUNC2, PUPD_NONE, 1, ISP, 0x68);
PINCTRL_FUNC(SPI1_CLK, 30, FUNC3, PUPD_NONE, 1, ISP, 0x68);
PINCTRL_FUNC(SD1_CMD, 30, FUNC4, PUPD_NONE, 4, ISP, 0x68);
PINCTRL_FUNC(LCD_D2, 30, FUNC5, PUPD_NONE, 1, ISP, 0x68);
PINCTRL_FUNC(JTAG_TRESETN, 31, FUNC0, PUPD_NONE, 1, ISP, 0x6c);
PINCTRL_FUNC(GPIO2_2, 31, FUNC1, PUPD_NONE, 1, ISP, 0x6c);
PINCTRL_FUNC(STM_H_3, 31, FUNC2, PUPD_NONE, 1, ISP, 0x6c);
PINCTRL_FUNC(SPI1_DI, 31, FUNC3, PUPD_NONE, 1, ISP, 0x6c);
PINCTRL_FUNC(SD1_CLK, 31, FUNC4, PUPD_NONE, 4, ISP, 0x6c);
PINCTRL_FUNC(LCD_D1, 31, FUNC5, PUPD_NONE, 1, ISP, 0x6c);
PINCTRL_FUNC(JTAG_TDI, 32, FUNC0, PUPD_NONE, 1, ISP, 0x70);
PINCTRL_FUNC(GPIO2_3, 32, FUNC1, PUPD_NONE, 1, ISP, 0x70);
PINCTRL_FUNC(STM_H_2, 32, FUNC2, PUPD_NONE, 1, ISP, 0x70);
PINCTRL_FUNC(SPI1_DO, 32, FUNC3, PUPD_NONE, 1, ISP, 0x70);
PINCTRL_FUNC(SD1_CD, 32, FUNC4, PUPD_UP, 4, ISP, 0x70);
PINCTRL_FUNC(LCD_D0, 32, FUNC5, PUPD_NONE, 1, ISP, 0x70);
PINCTRL_FUNC(CSI_CKN1, 33, FUNC0, PUPD_NONE, 1, CSI, 0x8);
PINCTRL_FUNC(GPIO3_7, 33, FUNC1, PUPD_NONE, 1, CSI, 0x8);
PINCTRL_FUNC(PWMOUT0, 33, FUNC5, PUPD_NONE, 1, CSI, 0x8);
PINCTRL_FUNC(CSI_CKP1, 34, FUNC0, PUPD_NONE, 1, CSI, 0xc);
PINCTRL_FUNC(GPIO3_6, 34, FUNC1, PUPD_NONE, 1, CSI, 0xc);
PINCTRL_FUNC(PWMOUT1, 34, FUNC5, PUPD_NONE, 1, CSI, 0xc);
PINCTRL_FUNC(CSI_DN3, 35, FUNC0, PUPD_NONE, 1, CSI, 0x10);
PINCTRL_FUNC(GPIO4_3, 35, FUNC1, PUPD_NONE, 1, CSI, 0x10);
PINCTRL_FUNC(SENSOR_VS1, 35, FUNC2, PUPD_NONE, 1, CSI, 0x10);
PINCTRL_FUNC(SPI1_CLK, 35, FUNC3, PUPD_NONE, 1, CSI, 0x10);
PINCTRL_FUNC(PWMOUT2, 35, FUNC5, PUPD_NONE, 1, CSI, 0x10);
PINCTRL_FUNC(CSI_DP3, 36, FUNC0, PUPD_NONE, 1, CSI, 0x14);
PINCTRL_FUNC(GPIO4_2, 36, FUNC1, PUPD_NONE, 1, CSI, 0x14);
PINCTRL_FUNC(SENSOR_VS0, 36, FUNC2, PUPD_NONE, 1, CSI, 0x14);
PINCTRL_FUNC(SPI1_CSN0, 36, FUNC3, PUPD_NONE, 1, CSI, 0x14);
PINCTRL_FUNC(PWMOUT3, 36, FUNC5, PUPD_NONE, 1, CSI, 0x14);
PINCTRL_FUNC(CSI_DN2, 37, FUNC0, PUPD_NONE, 1, CSI, 0x18);
PINCTRL_FUNC(GPIO4_1, 37, FUNC1, PUPD_NONE, 1, CSI, 0x18);
PINCTRL_FUNC(SPI1_DO, 37, FUNC3, PUPD_NONE, 1, CSI, 0x18);
PINCTRL_FUNC(CSI_DP2, 38, FUNC0, PUPD_NONE, 1, CSI, 0x1c);
PINCTRL_FUNC(GPIO4_0, 38, FUNC1, PUPD_NONE, 1, CSI, 0x1c);
PINCTRL_FUNC(SPI1_DI, 38, FUNC3, PUPD_NONE, 1, CSI, 0x1c);
PINCTRL_FUNC(CSI_DN1, 39, FUNC0, PUPD_NONE, 1, CSI, 0x20);
PINCTRL_FUNC(GPIO5_2, 39, FUNC1, PUPD_NONE, 1, CSI, 0x20);
PINCTRL_FUNC(CSI_DP1, 40, FUNC0, PUPD_NONE, 1, CSI, 0x24);
PINCTRL_FUNC(GPIO5_3, 40, FUNC1, PUPD_NONE, 1, CSI, 0x24);
PINCTRL_FUNC(XAIN0_SADC, 41, FUNC0, PUPD_NONE, 1, VEU, 0x38);
PINCTRL_FUNC(GPIO5_4, 41, FUNC1, PUPD_NONE, 1, VEU, 0x38);
PINCTRL_FUNC(I2C1_SCL, 41, FUNC2, PUPD_NONE, 0, VEU, 0x38);
PINCTRL_FUNC(SENSOR_VS1, 41, FUNC3, PUPD_NONE, 1, VEU, 0x38);
PINCTRL_FUNC(UART2_RTSN, 41, FUNC4, PUPD_NONE, 0, VEU, 0x38);
PINCTRL_FUNC(LCD_D17, 41, FUNC5, PUPD_NONE, 1, VEU, 0x38);
PINCTRL_FUNC(XAIN1_SADC, 42, FUNC0, PUPD_NONE, 1, VEU, 0x3c);
PINCTRL_FUNC(GPIO5_5, 42, FUNC1, PUPD_NONE, 1, VEU, 0x3c);
PINCTRL_FUNC(I2C1_SDA, 42, FUNC2, PUPD_NONE, 0, VEU, 0x3c);
PINCTRL_FUNC(SENSOR_VS0, 42, FUNC3, PUPD_NONE, 1, VEU, 0x3c);
PINCTRL_FUNC(UART2_CTSN, 42, FUNC4, PUPD_NONE, 0, VEU, 0x3c);
PINCTRL_FUNC(LCD_D16, 42, FUNC5, PUPD_NONE, 1, VEU, 0x3c);
PINCTRL_FUNC(EPHY_TXP, 43, FUNC0, PUPD_NONE, 0, CPU, 0x8);
PINCTRL_FUNC(GPIO6_3, 43, FUNC1, PUPD_NONE, 1, CPU, 0x8);
PINCTRL_FUNC(UART2_CTSN, 43, FUNC2, PUPD_NONE, 0, CPU, 0x8);
PINCTRL_FUNC(SPI1_DO, 43, FUNC3, PUPD_NONE, 1, CPU, 0x8);
PINCTRL_FUNC(I2C1_SDA, 43, FUNC4, PUPD_NONE, 0, CPU, 0x8);
PINCTRL_FUNC(PWMOUT1, 43, FUNC5, PUPD_NONE, 1, CPU, 0x8);
PINCTRL_FUNC(EPHY_TXN, 44, FUNC0, PUPD_NONE, 0, CPU, 0xc);
PINCTRL_FUNC(GPIO6_2, 44, FUNC1, PUPD_NONE, 1, CPU, 0xc);
PINCTRL_FUNC(UART2_RTSN, 44, FUNC2, PUPD_NONE, 0, CPU, 0xc);
PINCTRL_FUNC(SPI1_DI, 44, FUNC3, PUPD_NONE, 1, CPU, 0xc);
PINCTRL_FUNC(I2C1_SCL, 44, FUNC4, PUPD_NONE, 0, CPU, 0xc);
PINCTRL_FUNC(PWMOUT2, 44, FUNC5, PUPD_NONE, 1, CPU, 0xc);
PINCTRL_FUNC(EPHY_RXP, 45, FUNC0, PUPD_NONE, 0, CPU, 0x10);
PINCTRL_FUNC(GPIO6_1, 45, FUNC1, PUPD_NONE, 1, CPU, 0x10);
PINCTRL_FUNC(UART2_RXD, 45, FUNC2, PUPD_NONE, 0, CPU, 0x10);
PINCTRL_FUNC(SPI1_CLK, 45, FUNC3, PUPD_NONE, 1, CPU, 0x10);
PINCTRL_FUNC(DMIC_CLK, 45, FUNC4, PUPD_NONE, 1, CPU, 0x10);
PINCTRL_FUNC(PWMOUT3, 45, FUNC5, PUPD_NONE, 1, CPU, 0x10);
PINCTRL_FUNC(EPHY_RXN, 46, FUNC0, PUPD_NONE, 0, CPU, 0x14);
PINCTRL_FUNC(GPIO6_0, 46, FUNC1, PUPD_NONE, 1, CPU, 0x14);
PINCTRL_FUNC(UART2_TXD, 46, FUNC2, PUPD_NONE, 0, CPU, 0x14);
PINCTRL_FUNC(SPI1_CSN0, 46, FUNC3, PUPD_NONE, 1, CPU, 0x14);
PINCTRL_FUNC(SFC_CLK, 47, FUNC0, PUPD_NONE, 0, VEU, 0x40);
PINCTRL_FUNC(GPIO0_4, 47, FUNC1, PUPD_NONE, 1, VEU, 0x40);
PINCTRL_FUNC(DEBUG_BUS_0, 47, FUNC3, PUPD_NONE, 1, VEU, 0x40);
PINCTRL_FUNC(SFC_CS0N, 48, FUNC0, PUPD_NONE, 1, VEU, 0x44);
PINCTRL_FUNC(GPIO0_5, 48, FUNC1, PUPD_NONE, 1, VEU, 0x44);
PINCTRL_FUNC(DEBUG_BUS_1, 48, FUNC3, PUPD_NONE, 1, VEU, 0x44);
PINCTRL_FUNC(SFC_MOSI_IO0, 49, FUNC0, PUPD_NONE, 1, VEU, 0x48);
PINCTRL_FUNC(GPIO0_6, 49, FUNC1, PUPD_NONE, 1, VEU, 0x48);
PINCTRL_FUNC(DEBUG_BUS_2, 49, FUNC3, PUPD_NONE, 1, VEU, 0x48);
PINCTRL_FUNC(SFC_MISO_IO1, 50, FUNC0, PUPD_UP, 1, VEU, 0x4c);
PINCTRL_FUNC(GPIO0_7, 50, FUNC1, PUPD_UP, 1, VEU, 0x4c);
PINCTRL_FUNC(DEBUG_BUS_3, 50, FUNC3, PUPD_UP, 1, VEU, 0x4c);
PINCTRL_FUNC(SFC_WP_IO2, 51, FUNC0, PUPD_NONE, 1, VEU, 0x50);
PINCTRL_FUNC(GPIO1_0, 51, FUNC1, PUPD_NONE, 1, VEU, 0x50);
PINCTRL_FUNC(UART1_TXD, 51, FUNC2, PUPD_NONE, 0, VEU, 0x50);
PINCTRL_FUNC(I2C1_SCL, 51, FUNC3, PUPD_NONE, 0, VEU, 0x50);
PINCTRL_FUNC(LCD_TE, 51, FUNC4, PUPD_NONE, 1, VEU, 0x50);
PINCTRL_FUNC(LCD_DE, 51, FUNC5, PUPD_NONE, 1, VEU, 0x50);
PINCTRL_FUNC(SFC_HOLD_IO3, 52, FUNC0, PUPD_UP, 1, VEU, 0x54);
PINCTRL_FUNC(GPIO1_1, 52, FUNC1, PUPD_UP, 1, VEU, 0x54);
PINCTRL_FUNC(UART1_RXD, 52, FUNC2, PUPD_UP, 0, VEU, 0x54);
PINCTRL_FUNC(I2C1_SDA, 52, FUNC3, PUPD_UP, 0, VEU, 0x54);
PINCTRL_FUNC(LCD_RS, 52, FUNC4, PUPD_UP, 1, VEU, 0x54);
PINCTRL_FUNC(LCD_VSYNC, 52, FUNC5, PUPD_UP, 1, VEU, 0x54);
PINCTRL_FUNC(SFC_CS1N, 53, FUNC0, PUPD_NONE, 1, VEU, 0x58);
PINCTRL_FUNC(GPIO1_2, 53, FUNC1, PUPD_NONE, 1, VEU, 0x58);
PINCTRL_FUNC(DEBUG_BUS_4, 53, FUNC3, PUPD_NONE, 1, VEU, 0x58);
PINCTRL_FUNC(GPIO6_4, 54, FUNC1, PUPD_NONE, 1, VEU, 0x5c);
PINCTRL_FUNC(GPIO6_5, 55, FUNC1, PUPD_NONE, 1, VEU, 0x60);
PINCTRL_FUNC(GPIO6_6, 56, FUNC1, PUPD_NONE, 1, VEU, 0x64);


/* PINCTRL_MUX */

PINCTRL_MUX(AUX_CLK, 0, &PAD25_AUX_CLK);

PINCTRL_MUX(CSI_CKN1, 0, &PAD33_CSI_CKN1);
PINCTRL_MUX(CSI_CKP1, 0, &PAD34_CSI_CKP1);
PINCTRL_MUX(CSI_DN1, 0, &PAD39_CSI_DN1);
PINCTRL_MUX(CSI_DN2, 0, &PAD37_CSI_DN2);
PINCTRL_MUX(CSI_DN3, 0, &PAD35_CSI_DN3);
PINCTRL_MUX(CSI_DP1, 0, &PAD40_CSI_DP1);
PINCTRL_MUX(CSI_DP2, 0, &PAD38_CSI_DP2);
PINCTRL_MUX(CSI_DP3, 0, &PAD36_CSI_DP3);

PINCTRL_MUX(DEBUG_BUS10, 0, &PAD21_DEBUG_BUS10);
PINCTRL_MUX(DEBUG_BUS11, 0, &PAD18_DEBUG_BUS11);
PINCTRL_MUX(DEBUG_BUS7, 0, &PAD19_DEBUG_BUS7);
PINCTRL_MUX(DEBUG_BUS8, 0, &PAD20_DEBUG_BUS8);
PINCTRL_MUX(DEBUG_BUS9, 0, &PAD22_DEBUG_BUS9);
PINCTRL_MUX(DEBUG_BUS_0, 0, &PAD47_DEBUG_BUS_0);
PINCTRL_MUX(DEBUG_BUS_1, 0, &PAD48_DEBUG_BUS_1);
PINCTRL_MUX(DEBUG_BUS_12, 0, &PAD4_DEBUG_BUS_12);
PINCTRL_MUX(DEBUG_BUS_13, 0, &PAD5_DEBUG_BUS_13);
PINCTRL_MUX(DEBUG_BUS_14, 0, &PAD6_DEBUG_BUS_14);
PINCTRL_MUX(DEBUG_BUS_15, 0, &PAD7_DEBUG_BUS_15);
PINCTRL_MUX(DEBUG_BUS_2, 0, &PAD49_DEBUG_BUS_2);
PINCTRL_MUX(DEBUG_BUS_3, 0, &PAD50_DEBUG_BUS_3);
PINCTRL_MUX(DEBUG_BUS_4, 0, &PAD53_DEBUG_BUS_4);
PINCTRL_MUX(DEBUG_BUS_5, 0, &PAD14_DEBUG_BUS_5);
PINCTRL_MUX(DEBUG_BUS_6, 0, &PAD15_DEBUG_BUS_6);

PINCTRL_MUX(DMIC_CLK, 0, &PAD23_DMIC_CLK, &PAD27_DMIC_CLK, &PAD45_DMIC_CLK);
PINCTRL_MUX(DMIC_DAT, 0, &PAD24_DMIC_DAT, &PAD26_DMIC_DAT);

PINCTRL_MUX(EPHY_LED_DAT, 0, &PAD16_EPHY_LED_DAT);
PINCTRL_MUX(EPHY_LED_LINK, 0, &PAD17_EPHY_LED_LINK);
PINCTRL_MUX(EPHY_RXN, 0, &PAD46_EPHY_RXN);
PINCTRL_MUX(EPHY_RXP, 0, &PAD45_EPHY_RXP);
PINCTRL_MUX(EPHY_TXN, 0, &PAD44_EPHY_TXN);
PINCTRL_MUX(EPHY_TXP, 0, &PAD43_EPHY_TXP);

PINCTRL_MUX(I2C0_SCL, 0, &PAD7_I2C0_SCL);
PINCTRL_MUX(I2C0_SDA, 0, &PAD6_I2C0_SDA);

PINCTRL_MUX(I2C1_SCL, 0, &PAD16_I2C1_SCL, &PAD30_I2C1_SCL, &PAD41_I2C1_SCL,
		&PAD44_I2C1_SCL, &PAD51_I2C1_SCL);
PINCTRL_MUX(I2C1_SDA, 0, &PAD17_I2C1_SDA, &PAD29_I2C1_SDA, &PAD42_I2C1_SDA,
		&PAD43_I2C1_SDA, &PAD52_I2C1_SDA);

PINCTRL_MUX(I2S_BCLK, 0, &PAD27_I2S_BCLK);
PINCTRL_MUX(I2S_DI, 0, &PAD26_I2S_DI);
PINCTRL_MUX(I2S_DO, 0, &PAD25_I2S_DO);
PINCTRL_MUX(I2S_MCLK, 0, &PAD24_I2S_MCLK);
PINCTRL_MUX(I2S_WS, 0, &PAD28_I2S_WS);

PINCTRL_MUX(JTAG_TCK, 0, &PAD12_JTAG_TCK, &PAD25_JTAG_TCK);
PINCTRL_MUX(JTAG_TDI, 0, &PAD32_JTAG_TDI);
PINCTRL_MUX(JTAG_TDO, 0, &PAD11_JTAG_TDO);
PINCTRL_MUX(JTAG_TMS, 0, &PAD13_JTAG_TMS);
PINCTRL_MUX(JTAG_TRESETN, 0, &PAD31_JTAG_TRESETN);

PINCTRL_MUX(LCD_CLK, 0, &PAD24_LCD_CLK);
PINCTRL_MUX(LCD_CS, 0, &PAD23_LCD_CS);
PINCTRL_MUX(LCD_D0, 0, &PAD32_LCD_D0);
PINCTRL_MUX(LCD_D1, 0, &PAD31_LCD_D1);
PINCTRL_MUX(LCD_D10, 0, &PAD15_LCD_D10);
PINCTRL_MUX(LCD_D11, 0, &PAD14_LCD_D11);
PINCTRL_MUX(LCD_D12, 0, &PAD13_LCD_D12);
PINCTRL_MUX(LCD_D13, 0, &PAD12_LCD_D13);
PINCTRL_MUX(LCD_D14, 0, &PAD11_LCD_D14);
PINCTRL_MUX(LCD_D15, 0, &PAD10_LCD_D15);
PINCTRL_MUX(LCD_D16, 0, &PAD42_LCD_D16);
PINCTRL_MUX(LCD_D17, 0, &PAD41_LCD_D17);
PINCTRL_MUX(LCD_D2, 0, &PAD30_LCD_D2);
PINCTRL_MUX(LCD_D3, 0, &PAD29_LCD_D3);
PINCTRL_MUX(LCD_D4, 0, &PAD28_LCD_D4);
PINCTRL_MUX(LCD_D5, 0, &PAD27_LCD_D5);
PINCTRL_MUX(LCD_D6, 0, &PAD26_LCD_D6);
PINCTRL_MUX(LCD_D7, 0, &PAD25_LCD_D7);
PINCTRL_MUX(LCD_D8, 0, &PAD17_LCD_D8);
PINCTRL_MUX(LCD_D9, 0, &PAD16_LCD_D9);
PINCTRL_MUX(LCD_DE, 0, &PAD51_LCD_DE);
PINCTRL_MUX(LCD_HSYNC, 0, &PAD23_LCD_HSYNC);
PINCTRL_MUX(LCD_RS, 0, &PAD52_LCD_RS);
PINCTRL_MUX(LCD_TE, 0, &PAD51_LCD_TE);
PINCTRL_MUX(LCD_VSYNC, 0, &PAD52_LCD_VSYNC);
PINCTRL_MUX(LCD_WR, 0, &PAD24_LCD_WR);

PINCTRL_MUX(PKG_ID0, 0, &PAD3_PKG_ID0);
PINCTRL_MUX(PKG_ID1, 0, &PAD2_PKG_ID1);
PINCTRL_MUX(PKG_ID2, 0, &PAD1_PKG_ID2);
PINCTRL_MUX(PKG_ID3, 0, &PAD0_PKG_ID3);

PINCTRL_MUX(PWMOUT0, 0, &PAD8_PWMOUT0, &PAD17_PWMOUT0, &PAD33_PWMOUT0);
PINCTRL_MUX(PWMOUT1, 1, &PAD9_PWMOUT1, &PAD16_PWMOUT1, &PAD34_PWMOUT1,
		&PAD43_PWMOUT1);
PINCTRL_MUX(PWMOUT2, 0, &PAD13_PWMOUT2, &PAD35_PWMOUT2, &PAD44_PWMOUT2);
PINCTRL_MUX(PWMOUT3, 0, &PAD12_PWMOUT3, &PAD36_PWMOUT3, &PAD45_PWMOUT3);

PINCTRL_MUX(SD0_CD, 0, &PAD18_SD0_CD);
PINCTRL_MUX(SD0_CLK, 0, &PAD21_SD0_CLK);
PINCTRL_MUX(SD0_CMD, 0, &PAD22_SD0_CMD);
PINCTRL_MUX(SD0_D0, 0, &PAD20_SD0_D0);
PINCTRL_MUX(SD0_D1, 0, &PAD19_SD0_D1);
PINCTRL_MUX(SD0_D2, 0, &PAD24_SD0_D2);
PINCTRL_MUX(SD0_D3, 0, &PAD23_SD0_D3);

PINCTRL_MUX(SD1_CD, 0, &PAD32_SD1_CD);
PINCTRL_MUX(SD1_CLK, 0, &PAD31_SD1_CLK);
PINCTRL_MUX(SD1_CMD, 0, &PAD30_SD1_CMD);
PINCTRL_MUX(SD1_D0, 0, &PAD29_SD1_D0);
PINCTRL_MUX(SD1_D1, 0, &PAD28_SD1_D1);
PINCTRL_MUX(SD1_D2, 0, &PAD27_SD1_D2);
PINCTRL_MUX(SD1_D3, 0, &PAD26_SD1_D3);

PINCTRL_MUX(SENSOR_CLK0, 0, &PAD5_SENSOR_CLK0);
PINCTRL_MUX(SENSOR_CLK1, 0, &PAD9_SENSOR_CLK1);
PINCTRL_MUX(SENSOR_RSTN0, 0, &PAD4_SENSOR_RSTN0);
PINCTRL_MUX(SENSOR_RSTN1, 0, &PAD8_SENSOR_RSTN1);
PINCTRL_MUX(SENSOR_VS0, 2, &PAD8_SENSOR_VS0, &PAD36_SENSOR_VS0,
		&PAD42_SENSOR_VS0);
PINCTRL_MUX(SENSOR_VS1, 2, &PAD9_SENSOR_VS1, &PAD35_SENSOR_VS1,
		&PAD41_SENSOR_VS1);

PINCTRL_MUX(SFC_CLK, 0, &PAD47_SFC_CLK);
PINCTRL_MUX(SFC_CS0N, 0, &PAD48_SFC_CS0N);
PINCTRL_MUX(SFC_CS1N, 0, &PAD53_SFC_CS1N);
PINCTRL_MUX(SFC_HOLD_IO3, 0, &PAD52_SFC_HOLD_IO3);
PINCTRL_MUX(SFC_MISO_IO1, 0, &PAD50_SFC_MISO_IO1);
PINCTRL_MUX(SFC_MOSI_IO0, 0, &PAD49_SFC_MOSI_IO0);
PINCTRL_MUX(SFC_WP_IO2, 0, &PAD51_SFC_WP_IO2);

PINCTRL_MUX(SPI1_CLK, 1, &PAD11_SPI1_CLK, &PAD21_SPI1_CLK, &PAD30_SPI1_CLK,
		&PAD35_SPI1_CLK, &PAD45_SPI1_CLK);
PINCTRL_MUX(SPI1_DI, 1, &PAD13_SPI1_DI, &PAD20_SPI1_DI, &PAD28_SPI1_DI,
		&PAD31_SPI1_DI, &PAD38_SPI1_DI, &PAD44_SPI1_DI);
PINCTRL_MUX(SPI1_DO, 1, &PAD12_SPI1_DO, &PAD22_SPI1_DO, &PAD32_SPI1_DO,
		&PAD37_SPI1_DO, &PAD43_SPI1_DO);

PINCTRL_MUX(STM_H_0, 0, &PAD30_STM_H_0);
PINCTRL_MUX(STM_H_1, 0, &PAD29_STM_H_1);
PINCTRL_MUX(STM_H_2, 0, &PAD32_STM_H_2);
PINCTRL_MUX(STM_H_3, 0, &PAD31_STM_H_3);
PINCTRL_MUX(STM_V_0, 0, &PAD25_STM_V_0);
PINCTRL_MUX(STM_V_1, 0, &PAD26_STM_V_1);
PINCTRL_MUX(STM_V_2, 0, &PAD27_STM_V_2);
PINCTRL_MUX(STM_V_3, 0, &PAD28_STM_V_3);

PINCTRL_MUX(UART0_RXD, 0, &PAD14_UART0_RXD);
PINCTRL_MUX(UART0_TXD, 0, &PAD15_UART0_TXD);

PINCTRL_MUX(UART1_RXD, 0, &PAD17_UART1_RXD, &PAD52_UART1_RXD);
PINCTRL_MUX(UART1_TXD, 0, &PAD16_UART1_TXD, &PAD51_UART1_TXD);

PINCTRL_MUX(UART2_CTSN, 0, &PAD11_UART2_CTSN, &PAD15_UART2_CTSN,
		&PAD42_UART2_CTSN, &PAD43_UART2_CTSN);
PINCTRL_MUX(UART2_RTSN, 0, &PAD10_UART2_RTSN, &PAD14_UART2_RTSN,
		&PAD41_UART2_RTSN, &PAD44_UART2_RTSN);
PINCTRL_MUX(UART2_RXD, 0, &PAD9_UART2_RXD, &PAD13_UART2_RXD, &PAD45_UART2_RXD);
PINCTRL_MUX(UART2_TXD, 0, &PAD8_UART2_TXD, &PAD12_UART2_TXD, &PAD46_UART2_TXD);

PINCTRL_MUX(USB_PWREN, 0, &PAD10_USB_PWREN, &PAD11_USB_PWREN);

PINCTRL_MUX(XAIN0_SADC, 0, &PAD41_XAIN0_SADC);

PINCTRL_MUX(XAIN1_SADC, 0, &PAD42_XAIN1_SADC);

PINCTRL_MUX(GPIO0_0, 0, &PAD14_GPIO0_0);
PINCTRL_MUX(GPIO0_1, 0, &PAD15_GPIO0_1);
PINCTRL_MUX(GPIO0_2, 0, &PAD16_GPIO0_2);
PINCTRL_MUX(GPIO0_3, 0, &PAD17_GPIO0_3);
PINCTRL_MUX(GPIO0_4, 0, &PAD47_GPIO0_4);
PINCTRL_MUX(GPIO0_5, 0, &PAD48_GPIO0_5);
PINCTRL_MUX(GPIO0_6, 0, &PAD49_GPIO0_6);
PINCTRL_MUX(GPIO0_7, 0, &PAD50_GPIO0_7);

PINCTRL_MUX(GPIO1_0, 0, &PAD51_GPIO1_0);
PINCTRL_MUX(GPIO1_1, 0, &PAD52_GPIO1_1);
PINCTRL_MUX(GPIO1_2, 0, &PAD53_GPIO1_2);
PINCTRL_MUX(GPIO1_3, 0, &PAD25_GPIO1_3);
PINCTRL_MUX(GPIO1_4, 0, &PAD26_GPIO1_4);
PINCTRL_MUX(GPIO1_5, 0, &PAD27_GPIO1_5);
PINCTRL_MUX(GPIO1_6, 0, &PAD28_GPIO1_6);
PINCTRL_MUX(GPIO1_7, 0, &PAD11_GPIO1_7);

PINCTRL_MUX(GPIO2_0, 0, &PAD29_GPIO2_0);
PINCTRL_MUX(GPIO2_1, 0, &PAD30_GPIO2_1);
PINCTRL_MUX(GPIO2_2, 0, &PAD31_GPIO2_2);
PINCTRL_MUX(GPIO2_3, 0, &PAD32_GPIO2_3);
PINCTRL_MUX(GPIO2_4, 0, &PAD10_GPIO2_4);
PINCTRL_MUX(GPIO2_5, 0, &PAD12_GPIO2_5);
PINCTRL_MUX(GPIO2_6, 0, &PAD13_GPIO2_6);
PINCTRL_MUX(GPIO2_7, 0, &PAD23_GPIO2_7);

PINCTRL_MUX(GPIO3_0, 0, &PAD24_GPIO3_0);
PINCTRL_MUX(GPIO3_1, 0, &PAD19_GPIO3_1);
PINCTRL_MUX(GPIO3_2, 0, &PAD20_GPIO3_2);
PINCTRL_MUX(GPIO3_3, 0, &PAD22_GPIO3_3);
PINCTRL_MUX(GPIO3_4, 0, &PAD21_GPIO3_4);
PINCTRL_MUX(GPIO3_5, 0, &PAD18_GPIO3_5);
PINCTRL_MUX(GPIO3_6, 0, &PAD34_GPIO3_6);
PINCTRL_MUX(GPIO3_7, 0, &PAD33_GPIO3_7);

PINCTRL_MUX(GPIO4_0, 0, &PAD38_GPIO4_0);
PINCTRL_MUX(GPIO4_1, 0, &PAD37_GPIO4_1);
PINCTRL_MUX(GPIO4_2, 0, &PAD36_GPIO4_2);
PINCTRL_MUX(GPIO4_3, 0, &PAD35_GPIO4_3);
PINCTRL_MUX(GPIO4_4, 0, &PAD4_GPIO4_4);
PINCTRL_MUX(GPIO4_5, 0, &PAD5_GPIO4_5);
PINCTRL_MUX(GPIO4_6, 0, &PAD6_GPIO4_6);
PINCTRL_MUX(GPIO4_7, 0, &PAD7_GPIO4_7);

PINCTRL_MUX(GPIO5_0, 0, &PAD8_GPIO5_0);
PINCTRL_MUX(GPIO5_1, 0, &PAD9_GPIO5_1);
PINCTRL_MUX(GPIO5_2, 0, &PAD39_GPIO5_2);
PINCTRL_MUX(GPIO5_3, 0, &PAD40_GPIO5_3);
PINCTRL_MUX(GPIO5_4, 0, &PAD41_GPIO5_4);
PINCTRL_MUX(GPIO5_5, 0, &PAD42_GPIO5_5);

PINCTRL_MUX(GPIO6_0, 0, &PAD46_GPIO6_0);
PINCTRL_MUX(GPIO6_1, 0, &PAD45_GPIO6_1);
PINCTRL_MUX(GPIO6_2, 0, &PAD44_GPIO6_2);
PINCTRL_MUX(GPIO6_3, 0, &PAD43_GPIO6_3);
PINCTRL_MUX(GPIO6_4, 0, &PAD54_GPIO6_4);
PINCTRL_MUX(GPIO6_5, 0, &PAD55_GPIO6_5);
PINCTRL_MUX(GPIO6_6, 0, &PAD56_GPIO6_6);

/* PINCTRL_DEVICE */
PINCTRL_DEVICE(AUX_CLK, 1, &MUX_AUX_CLK);
PINCTRL_DEVICE(CSI, 8, &MUX_CSI_CKN1, &MUX_CSI_CKP1, &MUX_CSI_DN1, &MUX_CSI_DN2,
		&MUX_CSI_DN3, &MUX_CSI_DP1, &MUX_CSI_DP2, &MUX_CSI_DP3);
PINCTRL_DEVICE(DEBUG, 16, &MUX_DEBUG_BUS10, &MUX_DEBUG_BUS11, &MUX_DEBUG_BUS7,
		&MUX_DEBUG_BUS8, &MUX_DEBUG_BUS9,
		&MUX_DEBUG_BUS_0, &MUX_DEBUG_BUS_1,
		&MUX_DEBUG_BUS_12, &MUX_DEBUG_BUS_13, &MUX_DEBUG_BUS_14,
		&MUX_DEBUG_BUS_15, &MUX_DEBUG_BUS_2,
		&MUX_DEBUG_BUS_3, &MUX_DEBUG_BUS_4,
		&MUX_DEBUG_BUS_5, &MUX_DEBUG_BUS_6);
PINCTRL_DEVICE(DMIC, 2, &MUX_DMIC_CLK, &MUX_DMIC_DAT);
PINCTRL_DEVICE(EPHY, 4, &MUX_EPHY_RXN, &MUX_EPHY_RXP, &MUX_EPHY_TXN,
		&MUX_EPHY_TXP);
PINCTRL_DEVICE(EPHY_LED, 2, &MUX_EPHY_LED_DAT, &MUX_EPHY_LED_LINK);
PINCTRL_DEVICE(I2C0, 2, &MUX_I2C0_SCL, &MUX_I2C0_SDA);
PINCTRL_DEVICE(I2C1, 2, &MUX_I2C1_SCL, &MUX_I2C1_SDA);
PINCTRL_DEVICE(I2S, 5, &MUX_I2S_BCLK, &MUX_I2S_DI, &MUX_I2S_DO, &MUX_I2S_MCLK,
		&MUX_I2S_WS);
PINCTRL_DEVICE(JTAG, 5, &MUX_JTAG_TCK, &MUX_JTAG_TDI, &MUX_JTAG_TDO,
		&MUX_JTAG_TMS, &MUX_JTAG_TRESETN);
PINCTRL_DEVICE(LCD, 25, &MUX_LCD_CLK, &MUX_LCD_CS, &MUX_LCD_D0, &MUX_LCD_D1,
		&MUX_LCD_D10, &MUX_LCD_D11, &MUX_LCD_D12,
		&MUX_LCD_D13, &MUX_LCD_D14,
		&MUX_LCD_D15, &MUX_LCD_D16, &MUX_LCD_D17,
		&MUX_LCD_D2, &MUX_LCD_D3,
		&MUX_LCD_D4, &MUX_LCD_D5, &MUX_LCD_D6,
		&MUX_LCD_D7, &MUX_LCD_D8,
		&MUX_LCD_D9, &MUX_LCD_DE, &MUX_LCD_HSYNC,
		&MUX_LCD_RS, &MUX_LCD_VSYNC,
		&MUX_LCD_WR);
PINCTRL_DEVICE(LCD_16BIT, 23, &MUX_LCD_CLK, &MUX_LCD_CS, &MUX_LCD_D0,
		&MUX_LCD_D1, &MUX_LCD_D10, &MUX_LCD_D11,
		&MUX_LCD_D12, &MUX_LCD_D13,
		&MUX_LCD_D14, &MUX_LCD_D15, &MUX_LCD_D2,
		&MUX_LCD_D3, &MUX_LCD_D4,
		&MUX_LCD_D5, &MUX_LCD_D6, &MUX_LCD_D7, &MUX_LCD_D8, &MUX_LCD_D9,
		&MUX_LCD_DE, &MUX_LCD_HSYNC, &MUX_LCD_RS,
		&MUX_LCD_VSYNC, &MUX_LCD_WR);
PINCTRL_DEVICE(PKG, 4, &MUX_PKG_ID0, &MUX_PKG_ID1, &MUX_PKG_ID2, &MUX_PKG_ID3);
PINCTRL_DEVICE(PWMOUT0, 1, &MUX_PWMOUT0);
PINCTRL_DEVICE(PWMOUT1, 1, &MUX_PWMOUT1);
PINCTRL_DEVICE(PWMOUT2, 1, &MUX_PWMOUT2);
PINCTRL_DEVICE(PWMOUT3, 1, &MUX_PWMOUT3);
PINCTRL_DEVICE(SD0, 7, &MUX_SD0_CD, &MUX_SD0_CLK, &MUX_SD0_CMD, &MUX_SD0_D0,
		&MUX_SD0_D1, &MUX_SD0_D2, &MUX_SD0_D3);
PINCTRL_DEVICE(SD0_1BIT_NO_WP, 7, &MUX_SD0_CD, &MUX_SD0_CLK, &MUX_SD0_CMD,
		&MUX_SD0_D0, &MUX_SD0_D1, &MUX_SD0_D2, &MUX_SD0_D3);
PINCTRL_DEVICE(SD0_NO_WP, 7, &MUX_SD0_CD, &MUX_SD0_CLK, &MUX_SD0_CMD,
		&MUX_SD0_D0, &MUX_SD0_D1, &MUX_SD0_D2, &MUX_SD0_D3);
PINCTRL_DEVICE(SD0_WIFI, 6, &MUX_SD0_CLK, &MUX_SD0_CMD, &MUX_SD0_D0,
		&MUX_SD0_D1, &MUX_SD0_D2, &MUX_SD0_D3);
PINCTRL_DEVICE(SD1, 7, &MUX_SD1_CD, &MUX_SD1_CLK, &MUX_SD1_CMD, &MUX_SD1_D0,
		&MUX_SD1_D1, &MUX_SD1_D2, &MUX_SD1_D3);
PINCTRL_DEVICE(SD1_1BIT_NO_WP, 7, &MUX_SD1_CD, &MUX_SD1_CLK, &MUX_SD1_CMD,
		&MUX_SD1_D0, &MUX_SD1_D1, &MUX_SD1_D2, &MUX_SD1_D3);
PINCTRL_DEVICE(SD1_NO_WP, 7, &MUX_SD1_CD, &MUX_SD1_CLK, &MUX_SD1_CMD,
		&MUX_SD1_D0, &MUX_SD1_D1, &MUX_SD1_D2, &MUX_SD1_D3);
PINCTRL_DEVICE(SD1_WIFI, 6, &MUX_SD1_CLK, &MUX_SD1_CMD, &MUX_SD1_D0,
		&MUX_SD1_D1, &MUX_SD1_D2, &MUX_SD1_D3);
PINCTRL_DEVICE(SENSOR_CLK0, 1, &MUX_SENSOR_CLK0);
PINCTRL_DEVICE(SENSOR_CLK1, 1, &MUX_SENSOR_CLK1);
PINCTRL_DEVICE(SENSOR_RSTN0, 1, &MUX_SENSOR_RSTN0);
PINCTRL_DEVICE(SENSOR_RSTN1, 1, &MUX_SENSOR_RSTN1);
PINCTRL_DEVICE(SENSOR_VS0, 1, &MUX_SENSOR_VS0);
PINCTRL_DEVICE(SENSOR_VS1, 1, &MUX_SENSOR_VS1);
PINCTRL_DEVICE(SFC, 5, &MUX_SFC_CLK,
		&MUX_SFC_HOLD_IO3, &MUX_SFC_MISO_IO1,
		&MUX_SFC_MOSI_IO0, &MUX_SFC_WP_IO2);
PINCTRL_DEVICE(SPI1, 3, &MUX_SPI1_CLK,
		&MUX_SPI1_DI, &MUX_SPI1_DO);
PINCTRL_DEVICE(STM_H, 4, &MUX_STM_H_0, &MUX_STM_H_1, &MUX_STM_H_2,
		&MUX_STM_H_3);
PINCTRL_DEVICE(STM_V, 4, &MUX_STM_V_0, &MUX_STM_V_1, &MUX_STM_V_2,
		&MUX_STM_V_3);
PINCTRL_DEVICE(UART0, 2, &MUX_UART0_RXD, &MUX_UART0_TXD);
PINCTRL_DEVICE(UART1, 2, &MUX_UART1_RXD, &MUX_UART1_TXD);
PINCTRL_DEVICE(UART1_FC, 2, &MUX_UART1_RXD, &MUX_UART1_TXD);
PINCTRL_DEVICE(UART2, 2, &MUX_UART2_RXD, &MUX_UART2_TXD);
PINCTRL_DEVICE(UART2_FC, 4, &MUX_UART2_CTSN, &MUX_UART2_RTSN,
		&MUX_UART2_RXD, &MUX_UART2_TXD);
PINCTRL_DEVICE(USB_PWREN, 1, &MUX_USB_PWREN);
PINCTRL_DEVICE(XAIN0_SADC, 1, &MUX_XAIN0_SADC);
PINCTRL_DEVICE(XAIN1_SADC, 1, &MUX_XAIN1_SADC);
PINCTRL_DEVICE(GPIO0_0, 1, &MUX_GPIO0_0);
PINCTRL_DEVICE(GPIO0_1, 1, &MUX_GPIO0_1);
PINCTRL_DEVICE(GPIO0_2, 1, &MUX_GPIO0_2);
PINCTRL_DEVICE(GPIO0_3, 1, &MUX_GPIO0_3);
PINCTRL_DEVICE(GPIO0_4, 1, &MUX_GPIO0_4);
PINCTRL_DEVICE(GPIO0_5, 1, &MUX_GPIO0_5);
PINCTRL_DEVICE(GPIO0_6, 1, &MUX_GPIO0_6);
PINCTRL_DEVICE(GPIO0_7, 1, &MUX_GPIO0_7);
PINCTRL_DEVICE(GPIO1_0, 1, &MUX_GPIO1_0);
PINCTRL_DEVICE(GPIO1_1, 1, &MUX_GPIO1_1);
PINCTRL_DEVICE(GPIO1_2, 1, &MUX_GPIO1_2);
PINCTRL_DEVICE(GPIO1_3, 1, &MUX_GPIO1_3);
PINCTRL_DEVICE(GPIO1_4, 1, &MUX_GPIO1_4);
PINCTRL_DEVICE(GPIO1_5, 1, &MUX_GPIO1_5);
PINCTRL_DEVICE(GPIO1_6, 1, &MUX_GPIO1_6);
PINCTRL_DEVICE(GPIO1_7, 1, &MUX_GPIO1_7);
PINCTRL_DEVICE(GPIO2_0, 1, &MUX_GPIO2_0);
PINCTRL_DEVICE(GPIO2_1, 1, &MUX_GPIO2_1);
PINCTRL_DEVICE(GPIO2_2, 1, &MUX_GPIO2_2);
PINCTRL_DEVICE(GPIO2_3, 1, &MUX_GPIO2_3);
PINCTRL_DEVICE(GPIO2_4, 1, &MUX_GPIO2_4);
PINCTRL_DEVICE(GPIO2_5, 1, &MUX_GPIO2_5);
PINCTRL_DEVICE(GPIO2_6, 1, &MUX_GPIO2_6);
PINCTRL_DEVICE(GPIO2_7, 1, &MUX_GPIO2_7);
PINCTRL_DEVICE(GPIO3_0, 1, &MUX_GPIO3_0);
PINCTRL_DEVICE(GPIO3_1, 1, &MUX_GPIO3_1);
PINCTRL_DEVICE(GPIO3_2, 1, &MUX_GPIO3_2);
PINCTRL_DEVICE(GPIO3_3, 1, &MUX_GPIO3_3);
PINCTRL_DEVICE(GPIO3_4, 1, &MUX_GPIO3_4);
PINCTRL_DEVICE(GPIO3_5, 1, &MUX_GPIO3_5);
PINCTRL_DEVICE(GPIO3_6, 1, &MUX_GPIO3_6);
PINCTRL_DEVICE(GPIO3_7, 1, &MUX_GPIO3_7);
PINCTRL_DEVICE(GPIO4_0, 1, &MUX_GPIO4_0);
PINCTRL_DEVICE(GPIO4_1, 1, &MUX_GPIO4_1);
PINCTRL_DEVICE(GPIO4_2, 1, &MUX_GPIO4_2);
PINCTRL_DEVICE(GPIO4_3, 1, &MUX_GPIO4_3);
PINCTRL_DEVICE(GPIO4_4, 1, &MUX_GPIO4_4);
PINCTRL_DEVICE(GPIO4_5, 1, &MUX_GPIO4_5);
PINCTRL_DEVICE(GPIO4_6, 1, &MUX_GPIO4_6);
PINCTRL_DEVICE(GPIO4_7, 1, &MUX_GPIO4_7);
PINCTRL_DEVICE(GPIO5_0, 1, &MUX_GPIO5_0);
PINCTRL_DEVICE(GPIO5_1, 1, &MUX_GPIO5_1);
PINCTRL_DEVICE(GPIO5_2, 1, &MUX_GPIO5_2);
PINCTRL_DEVICE(GPIO5_3, 1, &MUX_GPIO5_3);
PINCTRL_DEVICE(GPIO5_4, 1, &MUX_GPIO5_4);
PINCTRL_DEVICE(GPIO5_5, 1, &MUX_GPIO5_5);
PINCTRL_DEVICE(GPIO6_0, 1, &MUX_GPIO6_0);
PINCTRL_DEVICE(GPIO6_1, 1, &MUX_GPIO6_1);
PINCTRL_DEVICE(GPIO6_2, 1, &MUX_GPIO6_2);
PINCTRL_DEVICE(GPIO6_3, 1, &MUX_GPIO6_3);
PINCTRL_DEVICE(GPIO6_4, 1, &MUX_GPIO6_4);
PINCTRL_DEVICE(GPIO6_5, 1, &MUX_GPIO6_5);
PINCTRL_DEVICE(GPIO6_6, 1, &MUX_GPIO6_6);

void fh_pinctrl_init_devicelist(OS_LIST *list)
{
	OS_LIST_EMPTY(list);

	/*PINCTRL_ADD_DEVICE*/
	PINCTRL_ADD_DEVICE(AUX_CLK);
	PINCTRL_ADD_DEVICE(CSI);
	PINCTRL_ADD_DEVICE(DEBUG);
	PINCTRL_ADD_DEVICE(DMIC);
	PINCTRL_ADD_DEVICE(EPHY);
	PINCTRL_ADD_DEVICE(EPHY_LED);
	PINCTRL_ADD_DEVICE(I2C0);
	PINCTRL_ADD_DEVICE(I2C1);
	PINCTRL_ADD_DEVICE(I2S);
	PINCTRL_ADD_DEVICE(JTAG);
	PINCTRL_ADD_DEVICE(LCD);
	PINCTRL_ADD_DEVICE(LCD_16BIT);
	PINCTRL_ADD_DEVICE(PKG);
	PINCTRL_ADD_DEVICE(PWMOUT0);
	PINCTRL_ADD_DEVICE(PWMOUT1);
	PINCTRL_ADD_DEVICE(PWMOUT2);
	PINCTRL_ADD_DEVICE(PWMOUT3);
	PINCTRL_ADD_DEVICE(SD0);
	PINCTRL_ADD_DEVICE(SD0_1BIT_NO_WP);
	PINCTRL_ADD_DEVICE(SD0_NO_WP);
	PINCTRL_ADD_DEVICE(SD0_WIFI);
	PINCTRL_ADD_DEVICE(SD1);
	PINCTRL_ADD_DEVICE(SD1_1BIT_NO_WP);
	PINCTRL_ADD_DEVICE(SD1_NO_WP);
	PINCTRL_ADD_DEVICE(SD1_WIFI);
	PINCTRL_ADD_DEVICE(SENSOR_CLK0);
	PINCTRL_ADD_DEVICE(SENSOR_CLK1);
	PINCTRL_ADD_DEVICE(SENSOR_RSTN0);
	PINCTRL_ADD_DEVICE(SENSOR_RSTN1);
	PINCTRL_ADD_DEVICE(SENSOR_VS0);
	PINCTRL_ADD_DEVICE(SENSOR_VS1);
	PINCTRL_ADD_DEVICE(SFC);
	PINCTRL_ADD_DEVICE(SPI1);
	PINCTRL_ADD_DEVICE(STM_H);
	PINCTRL_ADD_DEVICE(STM_V);
	PINCTRL_ADD_DEVICE(UART0);
	PINCTRL_ADD_DEVICE(UART1);
	PINCTRL_ADD_DEVICE(UART1_FC);
	PINCTRL_ADD_DEVICE(UART2);
	PINCTRL_ADD_DEVICE(UART2_FC);
	PINCTRL_ADD_DEVICE(USB_PWREN);
	PINCTRL_ADD_DEVICE(XAIN0_SADC);
	PINCTRL_ADD_DEVICE(XAIN1_SADC);
	PINCTRL_ADD_DEVICE(GPIO0_0);
	PINCTRL_ADD_DEVICE(GPIO0_1);
	PINCTRL_ADD_DEVICE(GPIO0_2);
	PINCTRL_ADD_DEVICE(GPIO0_3);
	PINCTRL_ADD_DEVICE(GPIO0_4);
	PINCTRL_ADD_DEVICE(GPIO0_5);
	PINCTRL_ADD_DEVICE(GPIO0_6);
	PINCTRL_ADD_DEVICE(GPIO0_7);
	PINCTRL_ADD_DEVICE(GPIO1_0);
	PINCTRL_ADD_DEVICE(GPIO1_1);
	PINCTRL_ADD_DEVICE(GPIO1_2);
	PINCTRL_ADD_DEVICE(GPIO1_3);
	PINCTRL_ADD_DEVICE(GPIO1_4);
	PINCTRL_ADD_DEVICE(GPIO1_5);
	PINCTRL_ADD_DEVICE(GPIO1_6);
	PINCTRL_ADD_DEVICE(GPIO1_7);
	PINCTRL_ADD_DEVICE(GPIO2_0);
	PINCTRL_ADD_DEVICE(GPIO2_1);
	PINCTRL_ADD_DEVICE(GPIO2_2);
	PINCTRL_ADD_DEVICE(GPIO2_3);
	PINCTRL_ADD_DEVICE(GPIO2_4);
	PINCTRL_ADD_DEVICE(GPIO2_5);
	PINCTRL_ADD_DEVICE(GPIO2_6);
	PINCTRL_ADD_DEVICE(GPIO2_7);
	PINCTRL_ADD_DEVICE(GPIO3_0);
	PINCTRL_ADD_DEVICE(GPIO3_1);
	PINCTRL_ADD_DEVICE(GPIO3_2);
	PINCTRL_ADD_DEVICE(GPIO3_3);
	PINCTRL_ADD_DEVICE(GPIO3_4);
	PINCTRL_ADD_DEVICE(GPIO3_5);
	PINCTRL_ADD_DEVICE(GPIO3_6);
	PINCTRL_ADD_DEVICE(GPIO3_7);
	PINCTRL_ADD_DEVICE(GPIO4_0);
	PINCTRL_ADD_DEVICE(GPIO4_1);
	PINCTRL_ADD_DEVICE(GPIO4_2);
	PINCTRL_ADD_DEVICE(GPIO4_3);
	PINCTRL_ADD_DEVICE(GPIO4_4);
	PINCTRL_ADD_DEVICE(GPIO4_5);
	PINCTRL_ADD_DEVICE(GPIO4_6);
	PINCTRL_ADD_DEVICE(GPIO4_7);
	PINCTRL_ADD_DEVICE(GPIO5_0);
	PINCTRL_ADD_DEVICE(GPIO5_1);
	PINCTRL_ADD_DEVICE(GPIO5_2);
	PINCTRL_ADD_DEVICE(GPIO5_3);
	PINCTRL_ADD_DEVICE(GPIO5_4);
	PINCTRL_ADD_DEVICE(GPIO5_5);
	PINCTRL_ADD_DEVICE(GPIO6_0);
	PINCTRL_ADD_DEVICE(GPIO6_1);
	PINCTRL_ADD_DEVICE(GPIO6_2);
	PINCTRL_ADD_DEVICE(GPIO6_3);
	PINCTRL_ADD_DEVICE(GPIO6_4);
	PINCTRL_ADD_DEVICE(GPIO6_5);
	PINCTRL_ADD_DEVICE(GPIO6_6);
}

char* fh_pinctrl_selected_devices[] =
{
	CONFIG_PINCTRL_SELECT
};
